### 练习 2：模拟用户登录信息系统
# 需求
# 1. 支持新用户注册，新用户名和密码注册(添加)到字典中
# user_info = {"zhangsan": "123456", "lisi": "abc"}
# 2. 支持老用户登陆，用户名和密码正确提示登陆成功
# 3. 主程序通过循环询问，进行何种操作，根据用户的选择，执行注册或是登陆操作
user_info = {}  # 用于保存用户信息的字典
def register():  # 用户注册
    username = input("username:").strip()#strip():去除字符串左右空格
    # 判断用户名的可用性: 1.不能为空  2.不能重复
    if username != "" and username not in user_info.keys():
        password = input("password: ")
        # 将 {username: password} kv对添加到字典中
        user_info[username] = password
    else:
        print("用户名不可用~")
def login():  # 用户登陆
    username = input("username: ").strip()
    password = input("password: ")
    if username in user_info.keys():  # 用户名存在
        # 用户输入的密码和字典username对应的密码进行比对
        if password == user_info[username]:
            print("登录成功")
        else:
            print("登录失败")  # 密码错误
    else:
        print("登录失败")  # 用户名不存在
def show_menu():
    str01 = """(0) register
(1) login
(2) exit
请输入您的选择(0/1/2): """
    while True:
        choice = input(str01)  # 用户的选择
        if choice not in ["0", "1", "2"]:
            print("请重新输入(0/1/2)!!!")
            continue  # 让用户执行下一次循环，重新输入
        if choice == "0":
            register()
        elif choice == "1":
            login()
        else:  # choice == "2"
            print("ByeBye~")
            break
if __name__ == '__main__':  # main + tab
    show_menu()
